package it.scambiocorse.model;

import it.scambiocorse.utils.Costanti;
import it.scambiocorse.utils.Utils;

import java.sql.Date;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;



public class ServizioJson extends ServizioType {
//	private int idServ;
//	private int idServUser;
//	private int idUserInse;

	private String nomeCliente;
	private String idCliente;
	private String emailCliente;
	private String telCliente;
	
	private String idAutista;
	private String nomeAutista;
	private String telAutista;
	private String emailAutista;
	
	private String idSorgente;
	private String nomeSorgente;
	private String noteSorgente;
	
	private String dataJson;
	private String dataInseJson;
	private String oraJson;
	

	public ServizioJson() {
		super();
	}
	
	@Override
	public void setAutista(AutistaType autista) {
		if (autista != null) {
			this.idAutista = ""+autista.getIdAutista();
			this.nomeAutista = autista.getNome();
			this.emailAutista = autista.getNome();
			this.telAutista = autista.getTel();
		}
		super.setAutista(autista);
	}
	
	
	
	@Override
	public void setSorgente(SorgenteType sorgente) {
		if (sorgente != null ) {
			this.idSorgente = ""+sorgente.getIdSorgente();
			this.nomeSorgente = sorgente.getNome();
			this.noteSorgente = sorgente.getNote();
		}
		super.setSorgente(sorgente);
	}

	@Override
	public void setDataora(Timestamp dataora) {
		if (dataora != null) {
			this.dataJson = new SimpleDateFormat(Costanti.DATA_JTABLE_PATTERN).format(dataora);
			this.oraJson = new SimpleDateFormat("HH:mm").format(dataora);
		}
		super.setDataora(dataora);
	}

	@Override
	public void setCliente(ClienteType c) {
		if (c != null) {
			this.nomeCliente = c.getDescNome();
			this.telCliente = c.getTelefono();
			this.emailCliente= c.getEmail();
			this.idCliente = ""+c.getIdCliente();
		}
		super.setCliente(c);
	}

	@Override
	public void setDataInse(Timestamp dataInse) {
		if (dataInse != null) {
			this.dataInseJson = new SimpleDateFormat(Costanti.DATA_JTABLE_PATTERN).format(dataInse);
		}
		super.setDataInse(dataInse);
	}
	


	public String getDataInseJson() {
		return dataInseJson;
	}

	public void setDataInseJson(String dataInseJson) {
		this.dataInseJson = dataInseJson;
	}

	public String getDataJson() {
		return dataJson;
	}
	public void setDataJson(String dataJson) {
		this.dataJson = dataJson;
	}
	public String getOraJson() {
		return oraJson;
	}
	public void setOraJson(String oraJson) {
		this.oraJson = oraJson;
		
		try{
			if(Utils.isValidDate(dataJson)) {
				Timestamp dataora = Utils.dataStringTimestamp(this.dataJson+" "+this.oraJson, Costanti.DATA_ORA_PATTERN);
				this.setDataora(dataora);
			}
		} catch (Exception e) {}
	}
	public String getNomeCliente() {
		return nomeCliente;
	}
	public void setNomeCliente(String nomeCliente) {
		this.nomeCliente = nomeCliente;
	}
	public String getIdCliente() {
		return idCliente;
	}
	public void setIdCliente(String idCliente) {
		this.idCliente = idCliente;
		try {
		if (idCliente != null)
			super.getCliente().setIdCliente(Integer.parseInt(idCliente));
		} catch (Exception e) {}
	}
	public String getEmailCliente() {
		return emailCliente;
	}
	public void setEmailCliente(String emailCliente) {
		this.emailCliente = emailCliente;
	}
	public String getTelCliente() {
		return telCliente;
	}
	public void setTelCliente(String telCliente) {
		this.telCliente = telCliente;
	}
	public String getIdAutista() {
		return idAutista;
	}
	public void setIdAutista(String idAutista) {
		this.idAutista = idAutista;
		if (Utils.isValid(idAutista)) {
			try {
			getAutista().setIdAutista(Integer.parseInt(idAutista)); } catch (Exception e) {}
		}
	}
	public String getNomeAutista() {
		return nomeAutista;
	}
	public void setNomeAutista(String nomeAutista) {
		this.nomeAutista = nomeAutista;
	}
	public String getTelAutista() {
		return telAutista;
	}
	public void setTelAutista(String telAutista) {
		this.telAutista = telAutista;
	}
	public String getEmailAutista() {
		return emailAutista;
	}
	public void setEmailAutista(String emailAutista) {
		this.emailAutista = emailAutista;
	}

	public String getIdSorgente() {
		return idSorgente;
	}

	public void setIdSorgente(String idSorgente) {
		this.idSorgente = idSorgente;
		if (Utils.isValid(idSorgente)) {
			try {
			getSorgente().setIdSorgente(Integer.parseInt(idSorgente)); } catch (Exception e) {}
		}
	}

	public String getNomeSorgente() {
		return nomeSorgente;
	}

	public void setNomeSorgente(String nomeSorgente) {
		this.nomeSorgente = nomeSorgente;
	}

	public String getNoteSorgente() {
		return noteSorgente;
	}

	public void setNoteSorgente(String noteSorgente) {
		this.noteSorgente = noteSorgente;
	}
	

}
